<?php

class Remitos extends CI_Controller
{
	public function index()
	{
		$this->alta();
	}

	public function ver($id)
	{
		$data['remito'] = new Remito($id);
		$this->smartyview->render('remito_ver.html',$data);
	}

	public function alta()
	{
		$data['proveedores'] = new Proveedor();
	    $data['proveedores']->get()->all;

		$data['almacenes'] = new Almacen();
	    $data['almacenes']->get()->all;

		$data['usuarios'] = new Usuario();
	    $data['usuarios']->get()->all;

		$this->smartyview->render('remito_alta.html',$data);
	}

	public function save()
	{
		$usuario 	= new Usuario($this->input->post('usuario'));
		$proveedor 	= new Proveedor($this->input->post('proveedor'));
		$almacen 	= new Almacen($this->input->post('almacen'));
		
		//REMITO
		$remito 	= new Remito();
		$remito->numero = $this->input->post('numero');
		if ($remito->save(array($proveedor,$usuario))) { /* el remito se guardó correctamente */
			
			$item = 1;
			while ($this->input->post('codigo-'.$item)) { /* traigo todos los items del formulario */
				
				//MOVIMIENTO
				$movimiento = new Movimiento();
				$movimiento->cantidad = $this->input->post('cantidad-'.$item);
				$movimiento->fecha = date('Y-m-d');

				/* Obtengo ID del producto */
				$this->load->model('Producto');
				$id = $this->Producto->get_id_from_code($this->input->post('codigo-'.$item));
				if ($id != 0) {
					$producto = new Producto($id);

					//LOTE
					if ($producto->loteable) { /* el producto es loteable */
						$lote = new Lote();
						$lote->where('codigo',$this->input->post('lote-'.$item))->get();
						if ($lote->result_count() == 0) { /* El lote es nuevo */
							$lote = new Lote();
							$lote->codigo = $this->input->post('lote-'.$item);
							$lote->fecha_vencimiento = $this->input->post('vencimiento-'.$item);
							$lote->save($producto);
						}
						$movimiento->save(array($almacen,$producto,$remito,$usuario,$lote));
					}
					else {
						$movimiento->save(array($almacen,$producto,$remito,$usuario));
					}
					
				}
				$item++;
			}

			redirect(site_url("remitos/ver/".$remito->id."/"));

		}
		else { /* hubo un error guardando el remito */
			//echo $remito->error->numero;
		}
	}
}

// End of file remitos.php
/* Location ./application/controllers/remitos.php */